public class SGBackGroundDownloadMgr
{
    private SGBaseBackGroundDownloader m_Downloader;

    public SGBaseBackGroundDownloader GetDownloader(BackGroundDownloadType downloadType = BackGroundDownloadType.Hm)
    {
        if (m_Downloader == null)
        {
            m_Downloader = new SGBackGroundDownlaodAndroid(downloadType);
        }
        return m_Downloader;
    }

    private static SGBackGroundDownloadMgr m_Instance;
    public static SGBackGroundDownloadMgr Instance
    {
        get
        {
            if (m_Instance == null)
            {
                m_Instance = new SGBackGroundDownloadMgr();
            }
            return m_Instance;
        }
    }
}